Conventionally, in the execution of input/output processing between a server and an IO (Input Output) device, the server issues a command to the IO device. The server that executes the input/output processing with the IO device is explained with reference to FIG. 16.
FIG. 16 is a diagram illustrating a configuration of a server that executes input/output processing with an IO device. As illustrated in FIG. 16, a server 910 includes interfaces (I/Fs) 911 to 914 and a central processing unit (CPU) 915; the I/Fs 911 to 914 and the CPU 915 are connected by an internal bus. An 10 device 920 includes I/Fs 921 to 924 and an I/O unit 925; the I/Fs 921 to 924 and the I/O unit 925 are connected by an internal bus.
The I/F 911 included in the server 910 is connected to the I/F 921 included in the IO device 920 by a path 901, such as an optical cable. Likewise, the I/F 912 and the I/F 922 are connected by a path 902; the I/F 913 and the I/F 923 are connected by a path 903; the I/F 914 and the I/F 924 are connected by a path 904.
When the server 910 communicates with the IO device 920 via, for example, the path 901, the CPU 915 issues a command to the I/F 911 connected to the path 901. Then, the I/F 911 converts the command issued by the CPU 915 into a signal meeting the standard of the I/F 911, and transmits the signal to the path 901. The IO device 920 causes the I/F 921 to convert the signal received from the server 910 into a command and output the command to the I/O unit 925. Incidentally, when the IO device 920 establishes communication with the server 910, the relationship between the server 910 and the IO device 920 is exchanged, and the IO device 920 executes the same processing as the server 910.
The CPU 915 selects any of the I/Fs 911 to 914 to which a command is to be issued. For example, in the selection of an I/F, the CPU 915 sets a path connected to the first selected I/F as a reference path, and sequentially determines whether each of the paths, including the reference path, connected to the I/Fs is available.
A path selecting method when a reference path has been set is explained with reference to FIG. 17. FIG. 17 is a diagram illustrating the path selecting method when a reference path has been set. Here, there is described a case where the path 901 has been set as a reference path, and the CPU 915 issues a command C1, a command C2, a command C3, a command C4, and a command C5 in sequence.
As illustrated in FIG. 17, when issuing the command C1, the CPU 915 selects the reference path 901 first, and determines whether the path 901 is available. When determined that the path 901 is available, the CPU 915 issues the command C1 to the I/F 911 connected to the path 901. As a result, a state of the path 901 is changed to Execute indicating that the command is being executed. While the state of the path 901 is Execute, the CPU 915 does not issue another command to the I/F 911 connected to this path 901.
Next, when issuing the command C2, the CPU 915 selects the reference path 901 first, and determines whether the path 901 is available. As the state of the path 901 is Execute, the CPU 915 determines that the path 901 is not available. Then, the CPU 915 selects the path 902 next, and determines whether the path 902 is available. When determined that the path 902 is available, the CPU 915 issues the command C2 to the I/F 912 connected to the path 902. As a result, a state of the path 902 is changed to Execute. Incidentally, the same is true when the CPU 915 issues the commands C3 to C5.
Furthermore there is known a technology to select a path to be used in round-robin fashion and issue a command. A path selecting method in round-robin fashion is explained with reference to FIG. 18. FIG. 18 is a diagram illustrating the path selecting method in round-robin fashion. Here, there is described a case where the CPU 915 issues a command C1, a command C2, a command C3, a command C4, and a command C5 in sequence, and selects a path to be used in order of the path 901, the path 902, the path 903, and the path 904.
As illustrated in FIG. 18, the CPU 915 issues the command C1 to the I/F 911 connected to the path 901, and issues the command C2 to the I/F 912 connected to the path 902. Furthermore, the CPU 915 issues the command C3 to the I/F 913 connected to the path 903, and issues the command C4 to the I/F 914 connected to the path 904. Then, upon completion of the transmission of the command C1 via the path 901, the CPU 915 issues the command C5 to the I/F 911 connected to the path 901.    [Patent document 1] Japanese Laid-open Patent Publication No. 2007-25839    [Patent document 2] Japanese Laid-open Patent Publication No. 07-225737
However, the above-described conventional technologies have a problem that it is not possible to use paths efficiently.
Specifically, when a reference path is set, only the reference path may be used. For example, when the CPU 915 issues a new command C2 after completion of the transmission of a command C1 via the reference path 901, the CPU 915 issues the command C2 to the I/F 911 connected to the reference path 901. In the same way, when the CPU 915 issues a new command C3 after completion of the transmission of the command C2, the CPU 915 issues the command C3 to the I/F 911 connected to the reference path 901. As a result, the loads on the I/Fs 911 and 921 connected to the reference path 901 are increased, and a heating value is increased. Electronic components included in the I/Fs 911 and 921 are sensitive to heat; therefore, if a heating value is increased, the electronic components are worn.
Furthermore, when a path to be used is selected in round-robin fashion, all the paths 901 to 904 are used in sequence. If the command issue interval is long, the number of paths with respect to the number of commands to be issued is too many. Furthermore, in this case, all the paths 901 to 904 are supplied with electric power, so power consumption is high.